public class Persoon
{
private String burgerservicenummer;
private String voornaam;
private String achternaam;
private int geboortedag;
private int geboortemaand;
private int geboortejaar;
private char geslacht;
  
             

/**
 * @setauthor Nick Tel en Wessel
 * hieronder worden de variabelnamen gedefinieerd van de class persoon
 */
            public Persoon (String burgerservicenummer, String voornaam, String achternaam, int geboortedag, int geboortemaand, int geboortejaar, char geslacht)
            {
             this.burgerservicenummer = burgerservicenummer;
             this.voornaam = voornaam;
             this.achternaam = achternaam;
             this.geboortedag = geboortedag;
             this.geboortemaand = geboortemaand;
           
             
             setDagMaandJaar(geboortedag, geboortemaand, geboortejaar);
             
             if (geboortejaar >1900 && geboortejaar <2100)
                     {
                       this.geboortejaar = geboortejaar;  
                      }
             else 
                      {
                        System.out.println("Jaar moet tussen de 1900 en de 2100 zijn ");
                      }
                         
            if (geslacht=='m' || geslacht=='M' || geslacht=='v' || geslacht=='V')
                      {
                        this.geslacht = geslacht;  
                      }
            else 
                      {
                        System.out.println("Je mag alleen een m/M of een v/V invullen ");
                      }
            
           }
           
           public Persoon ()
           {
               setDagMaandJaar(0, 0, 0);
               setGeslacht('0');
           }

        
 /**
 * @setauthor Nick Tel
 * met deze functie kan u het burgerservicenummer van de betreffende persoon definieren
 */            
            public void setBurgerServiceNummer(String burgerservicenummer)
            {
                this.burgerservicenummer = burgerservicenummer;
            }
/**
 * @setauthor Nick Tel
 * met deze functie kan u het burgerservicenummer van de personen opvragen
 */            
            public String getBurgerServiceNummer()
            {
               return burgerservicenummer;
            }
/**
 * @setauthor Nick Tel
 * met deze functie kan u  de voor en achternaam van de persoon definieren
 */            
            public void setNaam(String voornaam, String achternaam)
            {
                this.voornaam = voornaam;
                this.achternaam = achternaam;
            }

            
/**
 * @setauthor Wessel van Tamelen
 * met deze functie kunt u de geboortedatum veranderen (deze moet tussen de 1 en de 31 zijn en nog aan een paar andere conditie en dat ligt eraan wat de gebruiker invoegd)
 */            
           
           
            public void setDagMaandJaar(int geboortedag, int geboortemaand, int geboortejaar)
            {
            
            switch (geboortemaand) {
             case 1:
             case 3:
             case 5:
             case 7:
             case 8:
             case 10:
             case 12:
             if(geboortedag>0 && geboortedag<32)
                {
                    this.geboortedag = geboortedag;
                    this.geboortemaand = geboortemaand;
                    this.geboortejaar = geboortejaar;
                }
             else {
                     System.out.println("De maanden Januari, Maart, Mei, Juli, Augustus, Oktober en December hebben 31 dagen.");
                  }
             break;
             case 2:
             if(geboortejaar % 4 == 0 && geboortejaar % 400 != 0 && geboortejaar % 100 != 0 && geboortedag>0 && geboortedag<30)
               {  
                    this.geboortedag = geboortedag;
                    this.geboortemaand = geboortemaand;
                    this.geboortejaar = geboortejaar;  
               }
             
             else if(geboortejaar % 4 != 0 && geboortejaar % 400 == 0 && geboortejaar % 100 == 0 && geboortedag>0 && geboortedag<29)
                {
                    this.geboortedag = geboortedag;
                    this.geboortemaand = geboortemaand;
                    this.geboortejaar = geboortejaar;
                }
             else {
                 System.out.println("Februari heeft 28 dagen.");
                  }
             break;
             case 4:
             case 6:
             case 9:
             case 11:
             if(geboortedag>0 && geboortedag<31)
                {
                    this.geboortedag = geboortedag;
                    this.geboortemaand = geboortemaand;
                    this.geboortejaar = geboortejaar;
                }
             else {
                 System.out.println("De maanden April, Juni, September, November hebben 30 dagen.");
                  }
             break;
             default:
          }
           }
           
/**
 * @setauthor Wessel van Tamelen
 * met deze functie kunt u het geslacht aanpassen
 */            
            public void setGeslacht(char geslacht)
            {
                    if (geslacht=='m' || geslacht=='M' || geslacht=='v' || geslacht=='V')
                         {
                         this.geslacht = geslacht;  
                        }
                   else 
                         {
                          System.out.println("Je mag alleen een m of een v invullen ");
                        }
            }

/**
* @setauthor Wessel van Tamelen
* @Getter voor geboortedatum
* @return Geboortedatum
*/
            public String getGeboorteDatum()
            {
            String gebdat;
                if (geboortedag==0 && geboortemaand==0 && geboortejaar==0)
                    {
                     gebdat="Onbekend";
                    }
              else
                    {
                     gebdat=geboortedag+"/"+geboortemaand+"/"+geboortejaar;
                    }
             return gebdat;
            }



/** 
* @setauthor Wessel van Tamelen
* @Getter voor geslacht
* @return Geslacht
*/
            public String getGeslacht()
            {
            String gesl;
              if (geslacht=='v' || geslacht=='V')
              {
                 gesl="Vrouw"; 
              }
              else if (geslacht=='m' || geslacht=='M')
              {
                gesl="Man";
              }
              else
              {
               gesl="Onbekend";
              }
             return gesl;
            }

/**
* @setauthor Wessel van Tamelen
* @Getter voor voor- en achternaam
* @return voor- en achternaam
*/
            public String getVoornaamAchternaam()
            {
            String vnan;
                if (voornaam=="" && achternaam=="")
                    {
                     vnan="Onbekend";
                    }
              else
                    {
                     vnan=voornaam+" "+achternaam;
                    }
             return vnan;
            }
            
            
/**
* @setauthor Wessel van Tamelen
* @Print Persoon gegevens
*/
            public void printPersoon()
            {
       
             // Print hier de gegevens van de Persoon.
             System.out.println("##################");
             System.out.println("Burgerservicenummer: " + burgerservicenummer + "");
             System.out.println("Voornaam: "+ voornaam + "");
             System.out.println("Achternaam: "+ achternaam + "");
             System.out.println("Geboorte datum: "+ geboortedag + "-" + geboortemaand + "-" + geboortejaar + "");
             System.out.println("##################");
             System.out.println();

            }
            
 /** 
 * Methode om dienblad te koppelen aan een persoon 
 * @param dienblad 
 */ 
            public void pakDienblad(Dienblad dienblad)  
           { 
              
           } 
           
           
           /** 
 * Methode om artikel te pakken en te plaatsen op het dienblad 
 * @param artikel 
 */ 
           public void pakArtikel(Artikel artikel)  
          { 

          } 
          
          
          
          /** 
 * Methode om de totaalprijs van de artikelen  
 * op dienblad dat bij de persoon hoort uit te rekenen 
 * @return De totaalprijs 
 */ 
         //  public double getTotaalPrijs() 
          // { 
  
            //} 
            

}
